package com.info33.platform.system.service;

import com.info33.platform.common.exception.BaseException;
import com.info33.platform.common.mvc.vo.Result;
import com.info33.platform.system.dto.SysUserDTO;

/**
 * @author Administrator
 */
public interface SysLoginService {

    /**
     * 账号密码登录
     *
     * @param dto -
     * @return -
     */
    Result<Object> passwordLogin(SysUserDTO dto);

    /**
     * 短信验证码登录
     *
     * @param dto -
     * @return -
     */
    Result<Object> messageLogin(SysUserDTO dto);

    /**
     * pc - 发送验证码
     *
     * @param dto -
     * @return -
     */
    Result<Object> messagePush(SysUserDTO dto);

    /**
     * 生成登录二维码
     *
     * @return -
     */
    Result<Object> generateQr();
    
    /**
     * 扫描二维码
     * 
     * @param uuid
     * @return
     */
    Result<Object> qrScan(String uuid);

    /**
     * 二维码登录
     *
     * @param uuid -
     * @return -
     */
    Result<Object> qrLogin(String uuid);

    /**
     * 二维码登录：轮询校验
     *
     * @param uuid -
     * @return -
     */
    Result<Object> qrPolling(String uuid);

    /**
     * 忘记密码
     * @param dto
     * @return
     */
	Result<Object> forgetPassword(SysUserDTO dto);

}
